"""
【练习】数据结构综合实战
"""

# [元组练习] 题目一:定义一个具有一个元素值为 A 的元组 t
t = ('A',)

# [元组练习] 题目二:现有元组 t = ("A", "B", "D", "E", "F", "K", "S", "T", "W", "O", "P", "Z")，
# 通过切片获取元素 K 至元素 W（包括） 之间的所有元素。
t = ("A", "B", "D", "E", "F", "K", "S", "T", "W", "O", "P", "Z")
print(t[5:9])


###################################################################


# [列表练习] 题目一:定义一个空列表 data
data = []

# [列表练习] 题目二:向 data 中追加元素 A, B, C
data.append('A')
data.append('B')
data.append('C')
print(data)

# [列表练习] 题目三:将元组 ("A", "B", "C") 中的元素值添加到 data 中
data.extend(('A', 'B', 'C'))
print(data)

# [列表练习] 题目四:向列表 data 中下标 3 位置插入元素 ("A", "B", "C")
data.insert(3,("A", "B", "C"))
print(data)

# [列表练习] 题目五:统计列表 data 中值为 A 的元素个数并输出
print(data.count('A'))


###################################################################


# [字典练习] 题目一:现有班级 Python 中有三名学生，每名学生包含学号、姓名、年龄、性别、选课等信息，请定义字典进行描述
class_info = {'Python':[{'num':'01', 'name':'Tom', 'age':14, 'gender':'男', 'course':'英语'},
                        {'num':'02', 'name':'Jack', 'age':13, 'gender':'男', 'course':'语文'},
                        {'num':'03', 'name':'Judy', 'age':12, 'gender':'女', 'course':['数学','物理']}]}
print(class_info)

# [字典练习] 题目二:添加一名新学生信息
new_stu = {'num':'04', 'name':'ALice', 'age':15, 'gender':'女', 'course':'体育'}
class_info['Python'].append(new_stu)
print(class_info)

# [字典练习] 题目三:修改第二名学生的性别为 female
class_info['Python'][1]['gender'] = 'female'
print(class_info)

# [字典练习] 题目四:删除第三名学生选课中的任意一门课程
del class_info['Python'][2]['course'][1]
print(class_info)

# [字典练习] 题目五:给第一名学生添加地址信息
class_info['Python'][0].update({'address':'广东省深圳市'})
print(class_info)

# [字典练习] 题目六:分别使用深拷贝方法和浅拷贝方法复制班级信息，然后修改班级信息中任意学生的课程信息，比较复制变量有何区别并说明
# 还没有学深拷贝和浅拷贝
